#ifndef RESOURCE_H
#define RESOURCE_H

#include <QList>
#include <QString>
#include <QStringList>

class QPixmap;

class Resource
{
public:
    static Resource *getInstance();
    void releaseWelcome();
    void releaseMainMenu_1();
    void releaseMainMenu_2();
    void initAreaSelectionMenu_2();
private:
    Resource();
    void init();
    void initWelcome();
    void initMainMenu();
    void initAreaSelectionMenu_1();
    void initMiniMenu();
    void initSongMenu();

public:
//  Welcome animation
    QList<QPixmap *> *welcome;
    QString welcomePath;
    QString welcomePrefix;
    QString welcomeSuffix;
    int welcomeCount;
    int welcomeTime;
//  Mainmenu
    QList<QPixmap *> *mainmenu_appearance;
    QString mainmenu_appearance_path;
    QString mainmenu_appearance_prefix;
    QString mainmenu_appearance_suffix;
    int mainmenu_appearance_count;
    int mainmenu_appearance_time;
    QList<QPixmap *> *mainmenu_focus;
    QString mainmenu_focus_path;
    QString mainmenu_focus_prefix;
    QString mainmenu_focus_suffix;
    int mainmenu_focus_count;
    int mainmenu_focus_time;
    QList<QPixmap *> *mainmenu_focus_alpha;
    QString mainmenu_focus_alpha_path;
    QString mainmenu_focus_alpha_prefix;
    QString mainmenu_focus_alpha_suffix;
    int mainmenu_focus_alpha_count;
    int mainmenu_focus_alpha_time;
    QList<QPixmap *> *mainmenu_focus_area;
    QString mainmenu_focus_area_path;
    QString mainmenu_focus_area_prefix;
    QString mainmenu_focus_area_suffix;
    int mainmenu_focus_area_count;
    int mainmenu_focus_area_time;
    QList<QPixmap *> *mainmenu_focus_quit;
    QString mainmenu_focus_quit_path;
    QString mainmenu_focus_quit_prefix;
    QString mainmenu_focus_quit_suffix;
    int mainmenu_focus_quit_count;
    int mainmenu_focus_quit_time;
//  AreaSelectionMenu
    QPixmap *area_background;
    QList<QPixmap *> *areaselectionmenu_inland_ht;
    QString area_inland_ht_path;
    QString area_inland_ht_prefix;
    QString area_inland_ht_suffix;
    int area_inland_ht_count;
    int area_inland_ht_time;
    QList<QPixmap *> *areaselectionmenu_ht_ea;
    QString area_ht_ea_path;
    QString area_ht_ea_prefix;
    QString area_ht_ea_suffix;
    int area_ht_ea_count;
    int area_ht_ea_time;
    QList<QPixmap *> *areaselectionmenu_ea_inland;
    QString area_ea_inland_path;
    QString area_ea_inland_prefix;
    QString area_ea_inland_suffix;
    int area_ea_inland_count;
    int area_ea_inland_time;

    QList<QPixmap *> *areaselectionmenu_inland_ea;
    QString area_inland_ea_path;
    QString area_inland_ea_prefix;
    QString area_inland_ea_suffix;
    int area_inland_ea_count;
    int area_inland_ea_time;
    QList<QPixmap *> *areaselectionmenu_ea_ht;
    QString area_ea_ht_path;
    QString area_ea_ht_prefix;
    QString area_ea_ht_suffix;
    int area_ea_ht_count;
    int area_ea_ht_time;
    QList<QPixmap *> *areaselectionmenu_ht_inland;
    QString area_ht_inland_path;
    QString area_ht_inland_prefix;
    QString area_ht_inland_suffix;
    int area_ht_inland_count;
    int area_ht_inland_time;

//  Minimenu
    QList<QPixmap *> *minimenu_appearance_singer;
    QList<QPixmap *> *minimenu_appearance_song;
    QList<QPixmap *> *minimenu_appearance_selectedSong;
    QList<QPixmap *> *minimenu_option_singer;
    QList<QPixmap *> *minimenu_option_song;
    QList<QPixmap *> *minimenu_option_selectedSong;
//  SongMenu
    QList<QPixmap *> *songmenu_appearance;
    QList<QPixmap *> *songmenu_option;
//  Tips
    QStringList tipList;
//  List
    QPixmap *backgroundPixmap_singerList;
    QPixmap *backgroundPixmap_songList;
    QPixmap *backgroundPixmap_selectedSongList;
    QPixmap *backgroundPixmap_singer;
    QPixmap *backgroundPixmap_song;
    QPixmap *backgroundPixmap_selectedSong;
    QPixmap *null_pixmap;
//  Keyboard
    QPixmap *frame;
    QPixmap *doubleFrame;
    QPixmap *keyboard;
    QPixmap *input_field_background;

private:
    static Resource *resource;
    QPixmap *release;
};

#endif // RESOURCE_H
